home *** CD-ROM | disk | FTP | other *** search
- extSubset ::= xmlDecl? extSubsetDecl >DTD Document
- xmlDecl$ ::= '<?xml' versionInfo? encodingDecl S? '?>' >XML Declaration (<?xml...?>)
- versionInfo$ ::= S 'version' Eq ( ( '"' VersionNum '"' ) | ( "'" VersionNum "'" ) ) >Version Info (version="1.0")
- VersionNum ::= ([a-zA-Z0-9_.:] | '-')+ >Version Number (1.0)
- encodingDecl$ ::= S 'encoding' Eq ( ( '"' EncName '"' ) | ( "'" EncName "'" ) ) >Encoding Declaration (encoding="...")
- EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')* >Encoding Name (UTF-8, ISO-8859-1, etc)
- extSubsetDecl ::= (markupdecl | DocTypeText | S)+ >Markup Declaration or Parameter-entity Reference
- DocTypeText ::= PEReference+ | conditionalSect >Parameter-entity Reference or Conditional Section
- markupdecl ::= elementdecl | attlistDecl | entityDecl | notationDecl | pi | comment >Declaration for Element, Attribute List, Entity, or Notation
- Eq! ::= S? '=' S? >Equal sign ('=')
- elementdecl$ ::= '<!ELEMENT' S ElementDeclName S ContentSpec S? '>' >Element Declaration (<!ELEMENT...>)
- ElementDeclName ::= NameOrPERef >Element Name
- ContentSpec ::= 'EMPTY' | 'ANY' | Mixed | children | PEReference >Element Content Specification ('EMPTY' | 'ANY' | Mixed | Children | PEReference)
- children ::= (choice | seq) ('?' | '*' | '+')? >Children (Choice | Sequence)
- choice ::= '(' S? cp ( S? '|' S? cp )* S? ')' >Choice ( a | b | c )
- cp ::= ( NameOrPERef | choice | seq) ('?' | '*' | '+')? >Name, PEReference, Choice, or Sequence
- seq ::= '(' S? cp ( S? ',' S? cp )* S? ')' >Sequence ( a , b , c )
- Mixed ::= ('(' S? '#PCDATA' (S? '|' S? NameOrPERef)* S? ')*') | ('(' S? '#PCDATA' S? ')') >Mixed (#PCDATA | Name | PEReference)
- attlistDecl$ ::= '<!ATTLIST' S AttlistName (S AttlistText)? S? '>' >Attribute List Declaration (<!ATTLIST...>)
- AttlistName ::= NameOrPERef >Attribute List Name
- AttlistText ::= AttDef (S AttDef)* >Attribute Definitions
- AttDef ::= ( ( Name S AttType S DefaultDecl ) | PEReference ) >Attribute Definition (Name Attribute-Type Default-Declaration)
- AttType ::= StringType | TokenizedType | EnumeratedType >Attribute-Type (String-Type | Tokenized-Type | Enumerated-Type)
- StringType ::= 'CDATA' >String-Type (CDATA)
- TokenizedType ::= 'IDREFS' | 'IDREF' | 'ID' | 'ENTITY' | 'ENTITIES' | 'NMTOKENS' | 'NMTOKEN' | PEReference >Tokenized-Type (IDREFS | IDREF | ID | ENTITY | ENTITIES | NMTOKEN | NMTOKENS | PEReference)
- EnumeratedType ::= NotationType | Enumeration >Enumerated-Type (Notation-Type | Enumeration)
- NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')' >Notation-Type ( NOTATION '(' Name | Name | ... ')' )
- Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')' >Enumeration ( '(' Nmtoken | Nmtoken | ... ')' )
- DefaultDecl ::= '#REQUIRED' | '#IMPLIED' | (('#FIXED' S)? attQValue) >Default-Declaration (#REQUIRED | #IMPLIED | #FIXED "value")
- NameOrPERef ::= Name | PEReference >Name or Parameter-entity Reference (%PE;)
- PEReference ::= '%' Name ';' >Parameter-entity Reference (%PE;)
- entityDecl ::= geDecl | peDecl >Entity Declaration (<!ENTITY...>)
- geDecl$ ::= '<!ENTITY' S GEName S GEDef S? '>' >Entity Declaration (<!ENTITY...>)
- peDecl$ ::= '<!ENTITY' S PEName S PEDef S? '>' >Entity Declaration (<!ENTITY...>)
- GEName ::= Name >Entity Name
- PEName ::= '%' S Name >Parameter-entity Name
- GEDef ::= EntityValue | (externalID NDataDecl?) >Entity Definition (Entity-Value | External-ID NData-Declaration)
- PEDef ::= EntityValue | externalID >Parameter-entity Definition (Entity-Value | External-ID)
- externalID$ ::= (ExtIDNameSys S ExtIDTextSys) | (ExtIDNamePub S ExtIDTextPub) >External-ID ('SYSTEM' System-Literal | 'PUBLIC' Pubid-Literal System-Literal)
- ExtIDNameSys ::= 'SYSTEM' >'SYSTEM'
- ExtIDTextSys ::= SystemLiteral >System-Literal
- ExtIDNamePub ::= 'PUBLIC' >'PUBLIC'
- ExtIDTextPub ::= PubidLiteral S SystemLiteral >Pubid-Literal System-Literal
- NDataDecl ::= S 'NDATA' S Name >NData-Declaration ('NDATA' Name)
- notationDecl$ ::= '<!NOTATION' S NotationName S NotationText S? '>' >Notation-Declaration (<!NOTATION...>)
- NotationName ::= NameOrPERef >Notation Name
- NotationText ::= externalID | PublicID >Extermal-ID or Public-ID
- PublicID ::= 'PUBLIC' S PubidLiteral >Public-ID ('PUBLIC' Pubid-Literal)
- S! ::= (#x20 | #x09 | #x0D | #x0A)+ >Whitespace (Blank, Tab, CR, LF)
- Name ::= (Letter | '_' | ':') (NameChar)* >Name ( (Letter | '_' | ':') (Name-Character)* )
- NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' >Name-Character (Letter | Digit | '.' | '-' | '_' | ':')
- Nmtoken ::= NameChar+ >Nmtoken (Name-Character+)
- EntityValue ::= ('"' ([^%&"] | PEReference | Reference)* '"') | ("'" ([^%&'] | PEReference | Reference)* "'") >Quoted Entity-Value
- attQValue ::= ('"' AttValue1 '"') | ("'" AttValue2 "'") >Quoted Attribute Value ("value" | 'value')
- AttValue1 ::= ([^<&"] | Reference)* >Attribute Value
- AttValue2 ::= ([^<&'] | Reference)* >Attribute Value
- Reference ::= EntityRef | CharRef >Reference (Entity-Reference | Character-Reference)
- conditionalSect ::= includeSect | ignoreSect | inclignSect >Conditional Section
- includeSect ::= '<![' S? 'INCLUDE' S? '[' extSubsetDecl ']]>' >Include Section
- ignoreSect ::= '<![' S? 'IGNORE' S? '[' ignoreSectContents* ']]>' >Ignore Section
- inclignSect ::= '<![' S? PEReference S? '[' ignoreSectContents* ']]>' >Include or Ignore Section
- ignoreSectContents ::= Ignore ('<![' ignoreSectContents ']]>' Ignore)* >Ignore Section Contents
- Ignore ::= Char* / ( '<![' | ']]>' ) >Ignore
- CharRef ::= ('' [0-9]+ ';') | ('' [0-9a-fA-F]+ ';') >Character-Reference (Ù or ê)
- EntityRef ::= '&' Name ';' >Entity-Reference (&Entity;)
- SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'") >System Literal
- PubidLiteral ::= ('"' PubidChar* '"') | ("'" (PubidCharNoQu)* "'") >Pubid Literal
- PubidChar! ::= #x20 | #x0D | #x0A | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%] >Pubid Character
- PubidCharNoQu! ::= #x20 | #x0D | #x0A | [a-zA-Z0-9] | [-()+,./:=?;!*#@$_%] >Pubid Character (no quotes)
- comment ::= '<!--' CommentText '-->' >Comment (<!-- Text -->)
- CommentText ::= (CharNoDash | ('-' CharNoDash))* >Comment Text (may not contain '--')
- CharNoDash! ::= #x09 | #x0A | #x0D | [#x20-#x2C] | [#x2E-#xFF] >Character (no dash)
- pi$ ::= '<?' PITarget (S PIData)? '?>' >Processing Instruction (<?pi...?>)
- PITarget ::= Name - 'xml' >Processing Instruction Name (may not be 'xml')
- PIData ::= Char* / '?>' >Processing Instruction Data
- Char! ::= #x09 | #x0A | #x0D | [#x20-#xFF] >Character
- Digit! ::= [#x30-#x39] >Digit ([0-9])
- Letter! ::= [#x41-#x5A] | [#x61-#x7A] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#xFF] >Letter ([a-zA-Z], etc)
-